翻訳と辞書
Words near each other
・ "O" Is for Outlaw
・ "O"-Jung.Ban.Hap.
・ "Ode-to-Napoleon" hexachord
・ "Oh Yeah!" Live
・ "Our Contemporary" regional art exhibition (Leningrad, 1975)
・ "P" Is for Peril
・ "Pimpernel" Smith
・ "Polish death camp" controversy
・ "Pro knigi" ("About books")
・ "Prosopa" Greek Television Awards
・ "Pussy Cats" Starring the Walkmen
・ "Q" Is for Quarry
・ "R" Is for Ricochet
・ "R" The King (2016 film)
・ "Rags" Ragland
・ ! (album)
・ ! (disambiguation)
・ !!
・ !!!
・ !!! (album)
・ !!Destroy-Oh-Boy!!
・ !Action Pact!
・ !Arriba! La Pachanga
・ !Hero
・ !Hero (album)
・ !Kung language
・ !Oka Tokat
・ !PAUS3
・ !T.O.O.H.!
・ !Women Art Revolution


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

Single precision floating-point format : ウィキペディア英語版
Single-precision floating-point format
Single-precision floating-point format is a computer number format that occupies 4 bytes (32 bits) in computer memory and represents a wide dynamic range of values by using a floating point.
In IEEE 754-2008 the 32-bit base 2 format is officially referred to as binary32. It was called single in IEEE 754-1985. In older computers, different floating-point formats of 4 bytes were used, e.g., GW-BASIC's single-precision data type was the 32-bit MBF floating-point format.
One of the first programming languages to provide single- and double-precision floating-point data types was Fortran. Before the widespread adoption of IEEE 754-1985, the representation and properties of the double float data type depended on the computer manufacturer and computer model.
Single-precision binary floating-point is used due to its wider range over fixed point (of the same bit-width), even if at the cost of precision. A signed 32-bit integer can have a maximum value of 231 - 1 = 2,147,483,647, whereas the maximum representable IEEE 754 floating point value is (2−2−23) × 2127 ≈ 3.402823 × 1038. All integers with six or less significant decimal digits can be converted to an IEEE 754 floating point value without loss of precision, some integers up to nine significant decimal digits can be converted to an IEEE 754 floating point value without loss of precision, but no more than nine significant decimal digits can be stored. As an example, the 32-bit integer 2,147,483,647 converts to 2,147,483,650 in IEEE 754 form.
Single precision is termed ''REAL'' in Fortran,〔http://scc.ustc.edu.cn/zlsc/sugon/intel/compiler_f/main_for/lref_for/source_files/rfreals.htm〕 as ''float'' in C, C++, C#, Java,〔http://java.sun.com/docs/books/tutorial/java/nutsandbolts/datatypes.html〕 as ''Float'' in Haskell,〔https://www.haskell.org/onlinereport/haskell2010/haskellch6.html#x13-1350006.4〕 and as ''Single'' in Object Pascal (Delphi), Visual Basic, and MATLAB. However, ''float'' in Python, Ruby, PHP, and OCaml and ''single'' in versions of Octave before 3.2 refer to double-precision numbers. In most implementations of PostScript, the only real precision is single.
==IEEE 754 single-precision binary floating-point format: binary32==
The IEEE 754 standard specifies a ''binary32'' as having:
*Sign bit: 1 bit
*Exponent width: 8 bits
*Significand precision: 24 bits (23 explicitly stored)

This gives from 6 to 9 significant decimal digits precision (if a decimal string with at most 6 significant decimal digits is converted to IEEE 754 single precision and then converted back to the same number of significant decimal digits, then the final string should match the original; and if an IEEE 754 single precision is converted to a decimal string with at least 9 significant decimal digits and then converted back to single, then the final number must match the original〔(【引用サイトリンク】title=Lecture Notes on the Status of IEEE Standard 754 for Binary Floating-Point Arithmetic )〕).
Sign bit determines the sign of the number, which is the sign of the significand as well. Exponent is either an 8 bit signed integer from −128 to 127 (2's complement) or an 8 bit unsigned integer from 0 to 255 which is the accepted biased form in IEEE 754 binary32 definition. If the unsigned integer format is used, the exponent value used in the arithmetic is the exponent shifted by a bias – for the IEEE 754 binary32 case, an exponent value of 127 represents the actual zero (i.e. for 2 to be one, e must be 127).
The true significand includes 23 fraction bits to the right of the binary point and an ''implicit leading bit'' (to the left of the binary point) with value 1 unless the exponent is stored with all zeros. Thus only 23 fraction bits of the significand appear in the memory format but the total precision is 24 bits (equivalent to log10(224) ≈ 7.225 decimal digits). The bits are laid out as follows:


The real value assumed by a given 32 bit ''binary32'' data with a given biased exponent ''e'' (the 8 bit unsigned integer) and a ''23 bit fraction'' is
(-1)^b_...b_)_2 \times 2^...b_-127}
where more precisely we have
\text = (-1)^\text\times \left(1 + \sum_^ b_ 2^ \right)\times 2^.
In this example:
*\text = b_ = 0
*(-1)^\text = (-1)^ = +1 \in \left \
*e=b_b_...b_ =\sum_^ b_ 2^= 124
\in \left \ = \left \
*2^ = 2^ = 2^
\in \left \ \right \}
*1.b_b_...b_ = 1 + \sum_^ b_ 2^ = 1 + 1\cdot 2^ = 1.25
\in \left \ \right \}
\subset \left (1; 2-2^ \right )
\subset \left [ 1; 2 \right )
thus:
*\text = (+1)\times 1.25 \times 2^ = +0.15625
Note
*1+2^ \approx 1.000 000 119
*2-2^ \approx 1.999 999 881
*2^ \approx 1.175 494 35 \times 10^
*2^ \approx 1.701 411 83 \times 10^

抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「Single-precision floating-point format」の詳細全文を読む



スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.